from paste.script import templates
from tempita import paste_script_template_renderer

class TeslaTemplate(templates.Template):
    egg_plugins = ['Tesla', 'Elixir']
    required_templates = ['pylons']
    _template_dir = 'templates/default'
    summary = 'Pylons + Elixir template'
    template_renderer = staticmethod(paste_script_template_renderer)

class TeslaAuthTemplate(templates.Template):
    required_templates = ['tesla']
    _template_dir = 'templates/auth'
    summary = 'Tesla + authentication'
    template_renderer = staticmethod(paste_script_template_renderer)

class TeslaAuthXpTemplate(templates.Template):
    required_templates = ['tesla_auth']
    _template_dir = 'templates/auth_xp'
    summary = 'Tesla + row-level authentication (experimental)'
    template_renderer = staticmethod(paste_script_template_renderer)

class TeslaExistTemplate(templates.Template):
    required_templates = ['pylons']
    _template_dir = 'templates/exist'
    summary = 'Pylons + eXist template'
    template_renderer = staticmethod(paste_script_template_renderer)

class TeslaAuthRepozeTemplate(templates.Template):
    required_templates = ['pylons']
    _template_dir = 'templates/repoze.who'
    summary = 'Pylons + epoze.who auth template'
    template_renderer = staticmethod(paste_script_template_renderer)

class TeslaRDFAlchemyTemplate(templates.Template):
    required_templates = ['pylons']
    _template_dir = 'templates/rdfalchemy'
    summary = 'Pylons + RDFAlchemy template'
    template_renderer = staticmethod(paste_script_template_renderer)


class TeslaAuthRDFAlchemyTemplate(templates.Template):
    required_templates = ['pylons']
    _template_dir = 'templates/auth_rdfalchemy'
    summary = 'Tesla + RDFAlchemy + auth'
    template_renderer = staticmethod(paste_script_template_renderer)


